# Makefile for nvrammngr lib.
# This lib is needed for tplink firmware recovery function support.
#

include $(TOPDIR)/config.mk

PROD_FILE_BIN = $(IMAGEPATH)/FlashMaker/$(PID)_$(RELEASE)/product-info.bin
PROD_FILE_C = product_info.c
NM_INCLUDE = nm_config.h

LIB	= libnvrammngr.a

OBJS =  nm_api.o nm_fwup.o nm_lib.o sysProductInfo.o md5.o product_info.o #fwrecovery_api.o fwrecovery_gpio.o md5.o

#CFLAGS += -DCONFIG_LZMA=1

$(LIB): $(PROD_FILE_C) .depend $(OBJS)
	$(AR) crv $@ $(OBJS)
	@rm $(PROD_FILE_C)

$(PROD_FILE_C): $(PROD_FILE_BIN)
	xxd -i $< > $@
	sed -i 's/_.*product_info_bin/product_info_bin/g' $@

$(NM_INCLUDE):
	@echo "#ifndef NM_CONFIG_H" > $@
	@echo "#define NM_CONFIG_H" >> $@
	@echo "#define NM_EXTRA_PARA_BASE "$(strip ${NM_EXTRA_PARA_BASE}) >> $@
ifneq ($(NM_PTN_TABLE_BASE),)
	@echo "#define NM_PTN_TABLE_BASE "$(strip ${NM_PTN_TABLE_BASE}) >> $@
endif
ifneq ($(WEB_PLC_UPGRADE_FLAG),)
	@echo "#define WEB_PLC_UPGRADE_FLAG "$(strip ${WEB_PLC_UPGRADE_FLAG}) >> $@
endif
ifneq ($(FLASH_SIZE),)
	@echo "#define FLASH_SIZE " $(strip ${FLASH_SIZE}) >> $@
endif
ifneq ($(WEBFAILSAFE_SERVER_IP_ADDR),)
	@echo '#define WEBFAILSAFE_SERVER_IP_ADDR "$(strip ${WEBFAILSAFE_SERVER_IP_ADDR})"' >> $@
endif
ifneq ($(UBOOT_LOAD_BASE),)
	@echo "#define UBOOT_LOAD_BASE "$(strip ${UBOOT_LOAD_BASE}) >> $@
endif
ifneq ($(UBOOT_LOAD_SIZE),)
	@echo "#define UBOOT_LOAD_SIZE "$(strip ${UBOOT_LOAD_SIZE}) >> $@
endif
	@echo "#endif" >> $@

.depend: $(NM_INCLUDE) Makefile $(OBJS:.o=.c)
		$(CC) -M $(CFLAGS) $(OBJS:.o=.c) > $@

sinclude .depend
